Repository navigation
chore(bedside): re-vendor ask/step; AGENTS operator gates (#38) - #39
Conversation
Customer 0 for tig/bedside#6: pin vendored bedside with operator-gate CLI (ask/step), expand eval fixtures, and point Day-1 human gates at bedside ask/step (or host UI same contract) instead of multi-choice essays. Fixes #38
There was a problem hiding this comment.
💡 Codex Review
When an existing product runs the new refresh path (bedside init --vendor-from … --force), --force is required because bedside.toml already exists, but this line rewrites BEDSIDE.md with the blank scaffold. That destroys the product's first-run, scary-surface, and Day-2 notes even though the refresh is only meant to update the vendored Bedside tree; leave existing notes intact unless a separate overwrite flag is supplied.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
This pull request updates silico’s vendored Bedside snapshot to a commit that includes the new operator-gate surface (bedside ask / bedside step), expands Bedside’s eval fixtures/tests accordingly, and wires silico’s Day‑1 operator confirmations to those gates for continuity.
Changes:
- Re-vendor
third_party/bedsideto Bedside commit868e3b8and include newask/stepCLI + vendor-copy support. - Expand eval scoring/fixtures/tests to cover “choice wall” failures and structured gate examples.
- Update silico
AGENTS.mdandBEDSIDE.mdto referencebedside ask/bedside stepfor board/deploy/physical-step confirmations.
Reviewed changes
Copilot reviewed 36 out of 36 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| third_party/bedside/VENDOR.md | Updates vendored Bedside pin reference. |
| third_party/bedside/tests/test_eval_engine.py | Adds tests for choice-wall and structured-choice scoring. |
| third_party/bedside/tests/test_cli_commands.py | Extends CLI/init/eval tests (vendor-from, multi-root eval, summary semantics). |
| third_party/bedside/tests/test_ask_step.py | Adds test coverage for new ask/step command cores and CLI plumbing. |
| third_party/bedside/surface/README.md | Documents new surface verbs (ask/step) and structured-choice guidance. |
| third_party/bedside/src/bedside/vendor.py | Adds vendor-copy helpers for consumers (no submodule required). |
| third_party/bedside/src/bedside/exit_codes.py | Documents stable exit-code meanings including operator gates. |
| third_party/bedside/src/bedside/eval_engine.py | Adds choice-wall detection and focus vs info failure reporting. |
| third_party/bedside/src/bedside/config.py | Adds fixture_paths support and TOML writing changes. |
| third_party/bedside/src/bedside/commands/step_cmd.py | Implements UI-agnostic step command core. |
| third_party/bedside/src/bedside/commands/init_cmd.py | Adds vendor-copy init flow and scaffolds domain fixture directories. |
| third_party/bedside/src/bedside/commands/eval_cmd.py | Supports default multi-root fixtures via fixture_paths and improves summaries. |
| third_party/bedside/src/bedside/commands/ask_cmd.py | Implements UI-agnostic ask command core. |
| third_party/bedside/src/bedside/cli.py | Wires ask/step into argparse CLI and normalizes usage-error exit codes. |
| third_party/bedside/src/bedside/init.py | Bumps Bedside version constant to 0.1.2. |
| third_party/bedside/README.md | Updates README with vendor-copy workflow, multi-root eval, and ask/step usage. |
| third_party/bedside/pyproject.toml | Updates project version to 0.1.2. |
| third_party/bedside/eval/README.md | Documents domain-pack fixture layout and updates rubric text for choice walls. |
| third_party/bedside/eval/fixtures/known-good/structured-choice/transcript.md | Adds known-good fixture demonstrating structured choice UI usage. |
| third_party/bedside/eval/fixtures/known-good/structured-choice/meta.toml | Metadata for structured-choice fixture. |
| third_party/bedside/eval/fixtures/known-good/operator-gate-step/transcript.md | Adds known-good fixture demonstrating bedside step. |
| third_party/bedside/eval/fixtures/known-good/operator-gate-step/meta.toml | Metadata for operator-gate-step fixture. |
| third_party/bedside/eval/fixtures/known-good/operator-gate-ask/transcript.md | Adds known-good fixture demonstrating bedside ask. |
| third_party/bedside/eval/fixtures/known-good/operator-gate-ask/meta.toml | Metadata for operator-gate-ask fixture. |
| third_party/bedside/eval/fixtures/known-bad/multi-step-body-dump/transcript.md | Adds known-bad fixture for batched physical steps + cliff behavior. |
| third_party/bedside/eval/fixtures/known-bad/multi-step-body-dump/meta.toml | Metadata for multi-step-body-dump fixture. |
| third_party/bedside/eval/fixtures/known-bad/choice-wall/transcript.md | Adds known-bad fixture demonstrating “choice wall” anti-pattern. |
| third_party/bedside/eval/fixtures/known-bad/choice-wall/meta.toml | Metadata for choice-wall fixture. |
| third_party/bedside/docs/adopting.md | Adds consumer adoption guide (recommended layout + vendor-copy workflow). |
| third_party/bedside/contract/README.md | Updates contract text to explicitly forbid “choice walls” when structured UI exists. |
| third_party/bedside/bedside.toml | Adds fixture_paths default to the vendored Bedside config. |
| third_party/bedside/AGENTS.md | Updates Bedside’s own AGENTS stub to reference ask/step gates. |
| third_party/bedside/.github/workflows/ci.yml | Removes vendored upstream workflow from the vendor tree. |
| bedside.toml | Updates silico’s Bedside pin to 868e3b8. |
| BEDSIDE.md | Maps metal-domain scary surfaces and confirmations to ask/step gate ids. |
| AGENTS.md | Adds operator-gate guidance and integrates ask/step into Phase D flow and command examples. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- vendor_copy: refuse source==dest and dest nested under source - init: never overwrite existing BEDSIDE.md on --force re-vendor - ask: Record uses choice=pending; pre-prompts to stderr when --json - step: pre-step text to stderr when --json - tests for preserve notes, self-vendor, and pending record line Upstream-worthy; fixed in silico vendor tree as customer 0.
|
Fixed (Codex review body, init_cmd) in
Test: Note: these fixes live in the silico vendored tree (customer 0). Worth promoting upstream to tig/bedside so the next re-vendor keeps them. |
CR summary (cade05f)
Local: 35 bedside tests + silico pytest green; doctor/eval OK. These land in the vendored bedside tree; should be promoted to tig/bedside so the next pin keeps them. |
|
Upstream promotion of the CR fixes: tig/bedside#9 (vendor self-copy guard, preserve BEDSIDE.md, ask/step record + JSON stderr hygiene). After that merges, next silico re-vendor will pick them up natively. |
Summary
Fixes #38.
Re-vendors tig/bedside after #6 (
ask/step) and wires silico Day-1 continuity.Vendor
bedside.toml+third_party/bedside/VENDOR.md)init|doctor|eval|ask|step(was init/doctor/eval only)operator-gate-ask/operator-gate-step.githubfrom vendor tree (silico CI still runs doctor/eval)AGENTS / BEDSIDE continuity
bedside ask/bedside stepover multi-choice free text; agent structured UI still OK when same contractBEDSIDE.md): same confirm pointersTest plan
py -3 -m pip install -e ./third_party/bedsidebedside doctorOK (pin 868e3b8)bedside eval9 fixtures match expectpy -3 -m pytest -q